import request from '@/utils/request'

// 数据分类相关接口类型定义
export interface DataListParams {
    page?: number
    limit?: number
    name?: string
    type?: string
    status?: number
}

export interface DataDetailParams {
    id: number
}

export interface DataUpdateParams {
    id: number
    name?: string
    type?: string
    status?: number
    sort?: number
    [key: string]: any
}

export interface DataInfoParams {
    type: string
}

export interface DataItem {
    id: number
    name: string
    type: string
    status: number
    sort: number
    create_time: string
    update_time: string
}

export interface DataListResponse {
    lists: DataItem[]
    count: number
    page: number
    limit: number
}

/**
 * 获取数据分类列表
 * @param params 查询参数
 * @returns Promise<DataListResponse>
 */
export function getDataClassifyList(params?: any) {
    return request.get({ 
        url: '/data/lists', 
        params 
    })
}

/**
 * 根据ID获取数据分类详情
 * @param params 包含ID的参数对象
 * @returns Promise<DataItem>
 */
export function getDataClassifyDetail(params: any) {
    return request.get({ 
        url: '/data/detail', 
        params 
    })
}

/**
 * 更新数据分类信息
 * @param params 更新参数
 * @returns Promise<any>
 */
export function updateDataClassify(params: any) {
    return request.post({ 
        url: '/data/update', 
        params 
    })
}

/**
 * 根据类型获取数据分类信息
 * @param params 包含类型的参数对象
 * @returns Promise<DataItem>
 */
export function getDataClassifyByType(params: any) {
    return request.get({ 
        url: '/data/info', 
        params 
    })
}

export function getPointTypeTotal(params: any) {
    return request.get({ 
        url: '/data/total', 
        params 
    })
}